最新版本請見:https://chenhsieh.com/post/bioinfo/05-text-editor/
有一幕令我印象十分深刻,非常用功的專題生把該搜集的序列都搜集好,要上傳到線上分析平台的網站卻一直失敗,原來因為他的副檔名不是 .fasta 而是 .docx。檔案打開,好幾頁的 Times New Roman 襯線非等寬字體核苷酸代號 ATCG,滿頁序列文,一把辛酸淚。
用 Word 或 Excel 整理序列沒有錯,只是比較累而已。你酸澀的眼睛值得更好的工具。
每個作業系統都有預設的純文字編輯器,像是記事本或TextEdit,最簡單的程式開發就是用記事本打點程式碼,由終端機輸入指令執行該程式碼檔案,執行失敗再回到純文字編輯器修改除錯。把上述功能整合在一起就是整合式開發環境 (IDE, Integrated development environment),而 Atom 就是一款可以逐步自行改造 (hackable) 添加外掛的純文字編輯器,加上喜歡的外掛不只可以變成 IDE,還可以進行 markdown 寫作預覽,甚至是數位藝術 live coding 介面。
A hackable text editor for the 21st Century
Atom 由 Github 開發,來到主頁面看到章魚貓代表你來對了,下方就會自動出現適合的作業系統安裝檔案。windows 版本的話,下載後雙擊執行,可以看著各種貨物裝載到火箭中,一轉眼的時間就安裝完成;mac 的話則是直接解壓縮後拖曳到 Applications 區,在 finder 中右鍵 open。
外掛分成套件 (Packages)跟佈景主題 (themes),前者可以替文字編輯器增加各種功能,後者則能更改文字編輯器的外觀配色。
由上方選單開啟 Preferences 面板後,選擇來到 Install 標籤,就可以輸入想要安裝的套件名稱啦!以下便來推薦個生資入門好套件:Hydrogen & Minimap!
輸入 Hydrogen,直接 Install,或是點及該卡片查看套件說明頁面。
Hydrogen 可以把 Atom 變成 jupyter notebook 一樣使用,只要使用 #%%
就可以將程式碼區分成不同的 cell,不同的快捷鍵讓開發者選擇一次只執行一個 cell 中的內容或是全部執行。
且讓我以上一回中計算圓周率的例子說明 Hydrogen 的好用~
上圖中可見 jupyter notebook 一格一格的 cell,而 Atom 中的 Hydrogen 就是在純文字的環境中用 #%%
來當作 cell 的分隔。將上一回的程式碼貼到 Atom 中,並儲存為 .py
檔案。第一次執行會稍微停頓一下,出現藍色框框代表沒問題啦~
Jupyter notebook 會自動儲存,但是檔案格式是 ipynb。Atom 編輯完畢的檔案一樣可以存成 .py 的純程式碼檔案。在 Mac 上按下 option
+command
+enter
就可以執行當前 cell 的程式碼。顯示結果的空間還有附上一個供複製的按鈕,十分方便!
在 Hydrogen 中也可以寫 Markdown 數學式
#%%
from IPython.display import display, Markdown, Latex
Markdown('$\pi = $$\sum_{k=0}^{\infty}$$[{1}/{16^k}(4/(8k+1)-2/(8k+4)-1/(8k+5)-1/(8k+6))]$')
#%%
引入相關函式庫,並稍微修改數學表達式就可以~
綜上所述的方便性,我會推薦 Atom + Hydrogen 作為各位勇者生資入門的第一件披風!
如果是不寫程式的場景,單純要整理有些雜亂的序列檔案的格式,也可以安裝 atom 的 minimap 套件。編輯空間的右方會出現小地圖,也就是整份文件形狀的縮影,寫程式的時候可以掌握進展與結構,手動整理資料的時候也不會在序列之海中迷路。Minimap 搭配上 Atom 內建的搜尋全選取代功能,就可以快速將文字調整成所需要的格式!
如果找到更多實用的、獵奇的、或是天才般的 Atom 套件,請記得告訴我!
A hackable text editor for the 21st Century
Take your computing experience to the next level.
關於作者
謝晨 (Chen Hsieh),臺大園藝暨景觀學系研究所碩士。讀碩士前的興趣是懷著寫點程式妄圖解決農業問題的夢想參加比賽,拿了幾個黑客松與 Open Data 創新應用競賽的獎,卻都沒有勇氣將項目經營下去;研究所期間的興趣轉換成讀學術期刊的出刊電子報。靠著這些興趣當選 107 學年的臺大優秀青年,畢業後在農場旁的研究館辦公室寫點東西,希望可以跟世界分享生物資訊與園藝的樂趣!
感謝選擇匿名的朋友協助校閱初稿與提供意見,也敬請各位讀者不吝指教!
• Website: ChenHsieh.com